#ifndef _XIU9011_IOCTL_H_
#define _XIU9011_IOCTL_H_

#define XIU9011_DELAY_VALUE            	(ULONG)(-1 *  100 * 1000)    //  10 ms
#define XIU9011_RETRY_CNT				10


extern NTSTATUS XIU9011_CanceltHandler (IN WDFUSBDEVICE usbTagetDevice, OUT ULONG_PTR p_completeLength);
extern NTSTATUS XIU9011_SoftResetHandler (IN WDFUSBDEVICE usbTagetDevice, OUT ULONG_PTR p_completeLength);
extern NTSTATUS XIU9011_AbortHandler (IN WDFUSBDEVICE usbTagetDevice, OUT ULONG_PTR p_completeLength);
extern NTSTATUS XIU9011_WritePipeHandler(IN WDFUSBPIPE pipe, IN WDFREQUEST request, OUT ULONG_PTR p_completeLength);
extern NTSTATUS XIU9011_ReadCntHandler (IN WDFREQUEST request, IN RING_BUF *p_rb, OUT ULONG_PTR p_completeLength);
extern NTSTATUS XIU9011_ReadDataHander (IN WDFREQUEST request, IN RING_BUF *p_rb, OUT ULONG_PTR p_completeLength);

extern VOID XIU9011_EvtWritePipeRequestCompletionRoutine (IN WDFREQUEST request, IN WDFIOTARGET target,	PWDF_REQUEST_COMPLETION_PARAMS p_parms,	IN WDFCONTEXT context);

#endif